package com.zhangh.summer.admin.support.prometheus.common;

import com.zhangh.summer.admin.support.prometheus.common.client.CounterClient;
import com.zhangh.summer.admin.support.prometheus.common.client.SummaryClient;
import com.zhangh.summer.admin.support.prometheus.common.client.GaugeClient;
import com.zhangh.summer.admin.support.prometheus.common.client.HistogramClient;
import lombok.extern.slf4j.Slf4j;

/**
 * @description: TODO
 * @author: zhanghui  zhanghlucky@163.com
 * @create: 2020-08-26 10:21
 **/
@Slf4j
public class MetricsTool{
    private static final CounterClient counterClient;
    private static final GaugeClient gaugeClient;
    private static final HistogramClient histogramClient;
    private static final SummaryClient summaryClient;

    static {
        counterClient =new CounterClient();
        gaugeClient=new GaugeClient();
        histogramClient=new HistogramClient();
        summaryClient=new SummaryClient();
    }

    public static CounterClient counter(){
        return counterClient;
    }

    public static GaugeClient gauge(){
        return gaugeClient;
    }

    public static HistogramClient histogram(){
        return histogramClient;
    }

    public static SummaryClient summary(){
        return summaryClient;
    }


}
